//
//  NSManagedObject+SLSDK.h
//  SLTool
//
//  Created by SongLian on 16/8/6.
//  Copyright © 2016年 SongLian. All rights reserved.
//

#ifdef SLCoreDataResource

#import <CoreData/CoreData.h>

@interface NSManagedObject (SLSDK)

/**
 *  保存数据，如果数据有变化，需要进行该操作
 */
+ (void)sl_saveContext;

/**
 *  读取该类所有数据
 *
 *  @return 该类数据的数组
 */
+ (NSArray *)sl_readAllData;

/**
 *  生成一个插入数据
 *
 *  @return 生成的对象
 */
+ (__kindof NSManagedObject *)sl_insertNewObject;

/**
 *  读取指定 key - value 的数据
 *
 *  @param value 变量值
 *  @param key   变量名称
 *
 *  @return 指定数据的数组
 */
+ (NSArray *)sl_readDatasWithValue:(id)value forKey:(NSString *)key;

/**
 *  删除一组数据
 *
 *  @param objects 将要删除的数组
 */
+ (void)sl_deleteObjects:(NSArray *)objects;

/**
 *  删除一个数据
 *
 *  @param object 将要删除的数据
 */
+ (void)sl_deleteObject:(id)object;

@end

#endif
